﻿namespace IInject.Tests
{
	public class Dependent
	{
		public Dependent()
		{
		}

		public Dependent(int id)
		{
			Id = id;
		}

		public int Id { get; set; }
	}

	public interface IAbstractDependent
	{
	}

	public abstract class AbstractDependent : Dependent, IAbstractDependent
	{
		public AbstractDependent()
		{
		}

		protected AbstractDependent(int id) : base(id)
		{
		}
	}

	public class Dependent2 : AbstractDependent
	{
		public Dependent2()
		{
		}

		public Dependent2(int id)
		{
			Id = id;
		}
	}

	public class Dependent3 : AbstractDependent
	{
		public Dependent3()
		{
		}

		public Dependent3(int id)
		{
			Id = id;
		}
	}
}